//test2.cpp
#include <iostream>
#include <vector>
#include <string>
#include <typeinfo>
using namespace std;

int main()
{
    bool flag;
    char cval;
    short sval;
    unsigned short usval;
    int ival;
    unsigned int uival;
    long lval;
    unsigned long ulval;
    float fval;
    double dval;

    cout<<" 3.1415L + 'a'"<<"\t"<<typeid(3.1415L + 'a').name()<<endl;
    cout<<" dval + ival"<<"\t"<<typeid(dval + ival).name()<<endl;
    cout<<" dval + fval"<<"\t"<<typeid(dval + fval).name()<<endl;
    cout<<" ival = dval"<<"\t"<<typeid(ival = dval).name()<<endl;
    cout<<" flag = dval"<<"\t"<<typeid(flag = dval).name()<<endl;
    cout<<" cval + fval"<<"\t"<<typeid(cval + fval).name()<<endl;
    cout<<" sval + cval"<<"\t"<<typeid(sval + cval).name()<<endl;
    cout<<" cval + lval"<<"\t"<<typeid(cval + lval).name()<<endl;
    cout<<" ival + ulval"<<"\t"<<typeid(ival + ulval).name()<<endl;
    cout<<" usval + ival"<<"\t"<<typeid(usval + ival).name()<<endl;
    cout<<" uival + lval"<<"\t"<<typeid(uival + lval).name()<<endl;
    
    getchar();      
    return 0;
}
